<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<style>
    body {
      margin: 0;
      padding: 0;
    }

    .flex-container{
        display: flex;
        width: 630px;
        height: 480px;
        /* border: 1px solid black; */
        margin: 30px auto;
        position: relative;
        flex-wrap: wrap;
        flex-direction: column;
    }

    .flex-container::before{
        content: "";
        width: 2px;
        height: 100%;
        background-color: skyblue;
        position: absolute;
        left: 50%;
        top: 0;
        transform: translateX(-50%);
    }

    .flex-item{
        width: 300px;
        height: 120px;
        background-color: skyblue;
        border-radius: 5px;
        position: relative;
    }

    .flex-item::after{
        content: "";
        border: 15px solid transparent;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        
    }

    .flex-item:nth-child(odd)::after{
        border-left-color: skyblue;
        right: -30px;
    }

    .flex-item:nth-child(even)::after{
        border-right-color: skyblue;
        left: -30px;
    }

    .flex-item:nth-child(odd){
        align-self: flex-start;
    }

    .flex-item:nth-child(even){
        align-self: flex-end;
    }
</style>
<body>
    <div class="flex-container">
        <div class="flex-item"></div>
        <div class="flex-item"></div>
        <div class="flex-item"></div>
        <div class="flex-item"></div>
    </div>
</body>
</html>